/*
  使用 接口 类 泛型综合封装一个方法
*/

interface dbFun<T> {
  //  泛型接口
  add(info: T): boolean
  delete(): boolean
  update(): boolean
  select(): any[]
}

class mysql<T> implements dbFun<T> {
  //   要实现泛型接口  类也必须是一个泛型类

  add(info: T): boolean {
    console.log(info)
    return true
  }
  delete() {
    return true
  }
  update() {
    return true
  }
  select() {
    return [1, 2, 3]
  }
  constructor() {
    /*
      写入连接数据库的操作
    */

    console.log('数据库已连接')
  }
}

class User {
  userId: number | undefined
  unserName: string | undefined
  sex: string | undefined
  // constructor(userid: number, userName: string, sex: string) {
  //   this.userId = userid
  //   this.unserName = userName
  //   this.sex = sex
  // }
}

let domySql = new mysql<User>()

domySql.add({ userId: 173117002, unserName: 'Jimmy', sex: 'Man' })
